package ar.uade.edu.fain.ad.server.dao.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "MOVIMIENTO_STOCK")
public class MovimientoStockEntity {

	@Id
	private Long id;

	@ManyToOne
	@JoinColumn(name = "idDeposito")
	private DepositoEntity deposito;

	@ManyToOne
	@JoinColumn(name = "idEmpleado")
	private EmpleadoEntity responsable;

	@ManyToOne
	@JoinColumn(name = "idArea")
	private AreaEntity solicitante;

	@Column
	@Temporal(TemporalType.DATE)
	private Date fechaSolicitud;

	@Column
	private Integer cantidad;

	@ManyToOne(optional = false)
	@JoinColumn(name = "idProducto")
	private ProductoEntity producto;

	@Column
	@Temporal(TemporalType.TIMESTAMP)
	private Date fechaIngreso;

	@Column
	@Temporal(TemporalType.DATE)
	private Date fechaCaducidad;

	public MovimientoStockEntity() {
		super();
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public DepositoEntity getDeposito() {
		return deposito;
	}

	public void setDeposito(DepositoEntity deposito) {
		this.deposito = deposito;
	}

	public EmpleadoEntity getResponsable() {
		return responsable;
	}

	public void setResponsable(EmpleadoEntity responsable) {
		this.responsable = responsable;
	}

	public AreaEntity getSolicitante() {
		return solicitante;
	}

	public void setSolicitante(AreaEntity solicitante) {
		this.solicitante = solicitante;
	}

	public Date getFechaSolicitud() {
		return fechaSolicitud;
	}

	public void setFechaSolicitud(Date fechaSolicitud) {
		this.fechaSolicitud = fechaSolicitud;
	}

	public Integer getCantidad() {
		return cantidad;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	public ProductoEntity getProducto() {
		return producto;
	}

	public void setProducto(ProductoEntity producto) {
		this.producto = producto;
	}

	public Date getFechaIngreso() {
		return fechaIngreso;
	}

	public void setFechaIngreso(Date fechaIngreso) {
		this.fechaIngreso = fechaIngreso;
	}

	public Date getFechaCaducidad() {
		return fechaCaducidad;
	}

	public void setFechaCaducidad(Date fechaCaducidad) {
		this.fechaCaducidad = fechaCaducidad;
	}

}
